# Introduction

RMK is a high-performance and feature-rich keyboard firmware framework, designed for flexibility and ease of customization. RMK leverages the power of Rust and it's great async ecosystem, provides comprehensive and modern functionality across a wide range of microcontrollers. 

## Core Features

- **Broad Microcontroller Support**: ESP32, nRF52, STM32, RP2040/2350, CYW43(Raspberry Pi Pico W), etc.
- **Wired and Wireless Connectivity**: Offers both wired (USB) and wireless (BLE) connections, with optimized low-power performance and multi-profile support.
- **Simple Configuration**: Configure your keyboard easily through a single [TOML](https://toml.io/) file.
- **Advanced Feature Set**: Packed with modern features, including on-the-fly keymap customization, advanced layer management, powerful macros and multi-role key support (e.g., Tap-Hold, TapDance, Morse Key)
- **Split Keyboard Support**: Natively supports both wired and wireless split keyboard.

## Next Steps

import { LinkCard } from '@theme';

<div className="grid grid-cols-1 md:grid-cols-2 gap-5">
<LinkCard
      href="../user_guide/guide_overview"
      title="Tutorial"
      description="A step-by-step tutorial for creating your first RMK keyboard"
/>
<LinkCard
      href="../features"
      title="Features"
      description="All keyboard features that RMK supports"
/>
<LinkCard
      href="../configuration"
      title="Configuration"
      description="Explore how to configure your RMK keyboard"
/>
<LinkCard
      href="https://github.com/HaoboGu/rmk/tree/main/examples"
      title="Examples"
      description="Check the built-in examples for various microcontroller"
/>
</div>
